package com.zp.demo.repush.anno;

import com.zp.demo.repush.service.impl.IsSucessNotNull;
import com.zp.demo.repush.service.impl.ReSubmitResultFunc4Result;

import java.lang.annotation.*;

/**
 * 需要对结果一致性要求的，需要用这个.保证 只发提交和重复提交的结果永远只有一个成功
 */
@Target({ElementType.TYPE,ElementType.METHOD})//作用范围
@Retention(RetentionPolicy.RUNTIME)//系统运行得时候通过反射获取信息
@Documented//javadoc
@RePushAnno
public @interface RePushSuccessOnceAnno{
	/**
	 * 判断结果成功的 接口
	 * @return
	 */
	Class<?> isOkClazz() default IsSucessNotNull.class;

	/**
	 * 重复提交的，返回结果
	 * @return
	 */
	Class<?> reSubmitResult() default ReSubmitResultFunc4Result.class;
}
